Various configurations of automatic test equipment (ATE) are used to measure product performance of programmable logic devices (PLDs) in a production environment. ATEs are well suited for measuring PLD parts in the production environment and serve as a low cost and expeditious alternative to sophisticated manual bench test equipment. However, ATEs are not as accurate as bench test equipment in measuring some of the critical performance parameters such as, signal propagation delay (tPD). As performance speed of PLDs increases and propagation delay decreases, the problem of inaccurate propagation delay measurements is exacerbated. Without reliable methods of measuring the shorter propagation delays in high-speed parts, manufacturers of PLDs are unable to guarantee the performance of their parts at such high speeds. Thus, there is a need for reliable and efficient methods of measuring the propagation delay of PLDs in a production environment.
The lack of accuracy in ATE measurements of shorter propagation delays are due to several factors including, parasitic capacitance, contact variability and load variability due to the ATE at the output pins as the part is being measured. In parts with shorter delays, measurement errors caused by such factors can be significant. For example, in a PLD part with a 5 ns propagation delay, the typical measurement error caused by the ATE may be as much as 1 ns.
One way to improve the accuracy of propagation delay measurements is to reduce the effect of the errors due to the ATE. For example, a PLD can be configured to have a longer propagation path comprised of multiple direct propagation paths in series through the device prior to measuring its delay at one of the output pins, instead of measuring the delay of a single direct path through the device. Thus, if a PLD with a typical 5 ns delay can be configured to have 10 paths connected in series through the device, then the typical measurement error by an ATE of 1 ns can be spread out over a 50 ns (10×5 ns) delay measurement as opposed to a 5 ns delay measurement. Although this technique improves the accuracy of propagation delay measurements, the improvement is still not significant enough for accurately measuring the propagation delay in high-speed parts.
Another approach to improving the propagation delay measurement involves avoiding errors due to the variability of ATE load factors at the output pins by using abuilt-in self test (BIST). The BIST is implemented internally by specially configuring a programmable device and measuring the propagation delay related to such a device without using an ATE to directly measure the delay. For example, one such BIST is implemented by configuring a complex PLD (CPLD) part under test to have a ring oscillator and a counter driven by the ring oscillator for counting the oscillator's cycles. The counter is configured to provide the ATE with the count of the oscillator's cycles, which can be correlated to accurate measurements of the propagation delay for the part being measured. The correlation is accomplished by using highly-accurate bench test equipment to measure the delay of selected parts at variable conditions (e.g. various ambient temperatures) and then measuring the same parts using the BIST, as described above. The counter values from the BIST and the propagation delay measurements from the bench test equipment can be plotted later to generate a correlation curve between counter values and accurately measured propagation delays. Later on, when the counter values from BIST of other similar parts in the production environment are collected they can be translated to obtain accurate propagation delay measurements using the correlation curve.
Although the BIST for measuring propagation delay vastly improves the accuracy of such measurements, implementing the BIST method in simple PLDs (SPLDs) presents several challenges. SPLDs such as the industry standard 22v10 device do not have a sufficient number of programmable logic arrays (user-configurable logic) to configure a ring oscillator and a counter therein to implement the BIST described above. Furthermore, many SPLDs (e.g. 22v10's, 16v8's, and 6002's) do not have output logic macro cells (OLMC) that can be configured to provide the propagation path for the ring oscillator needed in the BIST described above.
Thus, there is a need for adapting BIST methods to SPLDs for accurately measuring their propagation delays.